<?php


	class FileUploadModel{
		
		private $fileUploadPath = "upload/";
		private $allowedExtentions = array("gif", "jpeg", "JPEG", "GIF", "jpg", "JPG");
				
		/**
		 * Sparar filen om den godkänns av valideringsfunktionen
		 */		
		public function SaveFile($fileInfo){
			if($this->ValidateFile($fileInfo) === TRUE){
				
				if(move_uploaded_file($fileInfo['tmp_name'], $this->fileUploadPath . $fileInfo['name'])){
					return TRUE;
				} else {
					return FALSE;
				}
			}
		}
		
		
		/**
		 * 	Validering av data. Endast gif och jpeg får laddas upp
		 * 	http://www.scanit.be/uploads/php-file-upload.pdf
		 * 	@return bool
		 */		
		public function ValidateFile($fileInfo){
			$imageInfo = getimagesize($fileInfo['tmp_name']);
			
			// Kontrollerar så MIME-typen är gif eller jpeg
			if ($imageInfo['mime'] != 'image/gif' && $imageInfo['mime'] != 'image/jpeg') {
				return FALSE;				
			}	
			// Kontrollerar filändelsen
			foreach ($this->allowedExtentions as $item) {
				if (!preg_match("/$item\$/i", $fileInfo['name'])) {
					return TRUE;	
				}else {
					return FALSE;
				}		
			}
						
			return TRUE;
		}
		
		/**
		 * Hämtar ut filer i en viss map
		 * @return array med filnamn
		 */
		public function GetFiles(){
			
			$results = array();
			
			$handler = opendir($this->fileUploadPath);
			
			if (is_dir($this->fileUploadPath)){
				while ($file = readdir($handler)) {		
					if ($file != "." && $file != ".." && $file[0] != ".") {
	        			$results[] = $file;
	      			}
				}
			}
						
			closedir($handler);
			return $results;
		}
	}